import BasePage from '@/pages/basePage.js'

// 查询页面公共方法列表
export default class Mange extends BasePage {
  constructor () {
    super()
    return {
      data () {
        return {
          tableDatas: [],
          total: 0,
          listLoading: true,
          queryParas: {
            currentPage: 1,
            currentPageSize: 10
          },
          item: {},
          form: {},
          loadCount: 0,
          selectedRows: [],
          handleFlag: true,
          // table数据源
          sourceData: [],
          // 操作模式  C 创建  V 查看  E 编辑
          editModel: '',
          // 控制弹框显示隐藏
          dialogVisible: false
        }
      },
      watch: {
        'dialogVisible' (val) {
          // 点击关闭，清空数据
          if (!val) {
            this.item = {}
          }
        }
      },
      mounted () {
        // 默认查询
        this.handleFilter()
      },
      methods: {
        // 新增数据
        addData () {
          this.dialogVisible = true
          this.item = {}
          this.editModel = 'C'
        },
        // 清空
        clearParam () {
          for (let i in this.queryParas) {
            // 不请空当前页数和当前页码
            if (i !== 'currentPage' && i !== 'currentPageSize') {
              this.queryParas[i] = ''
            }
          }
        },
        // 点击表格操作项的按钮
        onEditRow (rowIndex, rowData, clickType) {
          // 删除后查询一次
          if (clickType === 'D') return this.handleFilter()
          this.editModel = clickType
          this.dialogVisible = true
          // 查看详情
          if (clickType === 'V') {
            this.item = rowData
          } else if (clickType === 'E') {
            // 编辑数据
            this.item = JSON.parse(JSON.stringify(rowData))
          }
        },
        // 默认查询
        handleFilter () {
          this.loadCount += 1
        },
        // 弹框保存后查询
        onSave () {
          this.handleFilter()
        }
      }
    }
  }
}
